package qgs.zisu.javaconcurrency.javaconcurrency.chapter1;

/**
 * @Author: 蔡翔
 * @Date: 2019/8/31 20:09
 * @Version 1.0
 */
public class TryConcurrency {

    public static void main(String[] args) {

        //new 一个 新的线程，这时候只是一个实例，只有启动以后才是一个真正的线程。
        //custom-Thread 是线程的名字。
        Thread thread = new Thread("custom-Thread"){
          @Override
          public void run(){
              System.err.println(Thread.currentThread().getName());
              for(int i=0;i<10;i++){
                  System.out.println("Task 1 => "+i);
              }
          }
        };
        // 不能调用一个线程的 start()方法两次。
        thread.start();   //这里的start是立刻开始的，不会等他其他地方好了之后再开始。

        //这个for 方法在另外一个线程。里面运行。
        for(int j=0;j<100;j++){
            System.err.println("Task 2 => "+j);
        }


        //结果
        //      Task2 先运行，理由：thread1 还没有跑起来，task2所在线程就已经跑完了。
        //      如果把Task2 调到1000，那么Task1和Task2 就会交错运行。

    }


    private static void readFromDB(){
        try {
            Thread.sleep(10000);
        }catch (Exception e){
            e.printStackTrace();
        }
    }


}
